The invention relates to digital design verification, and more specifically to a method for creating a design verification test bench using automatic test pattern generation (xe2x80x9cATPGxe2x80x9d) and test strategies based on circuit-type classifications.
Test benches for very large scale integrated circuit (xe2x80x9cVLSIxe2x80x9d) designs are difficult and time consuming to create. Additionally, the complexity of circuits is not being fully explored during (non-formal) verification testing. The techniques now being used to create test benches rely on an application of human intuition in the form of waveform editing and test benches written in a hardware description language (xe2x80x9cHDLxe2x80x9d), such as Verilog and VHDL.
These intuitive approaches suffer from the limitations that once plagued manufacturing test generationxe2x80x94the complexity overwhelms most human designers. Testing based on intuition is therefore generally inadequate, is prone to human design error, and takes much too long to create. The efforts of electronic design automation (xe2x80x9cEDAxe2x80x9d) tool designers have been directed primarily at helping the designer to produce larger designs in reasonably short time frames. Only a limited effort has been directed at helping the designer or test bench creator to create more useful test benches in less time. As a result, there is currently an imbalance between what a designer can produce and the ability of anyone to create test benches to adequately verify the design. What are needed are more powerful tools to aid in the creation of test benches.
The current state of the art is to provide rather elaborate assistance with waveform editing and HDL creation of test benches, but few tool makers have presented tools that help the test bench creator produce complex tests automatically, rapidly, in volume, and relatively free of error. The graphical means featured by many of today""s top-flight EDA tools are simply inadequate to the needs of serious designers of large digital circuits. Waveform editing, no matter how user friendly, cannot produce the volume and quality of tests needed for large circuits. Forcing designers to work with these graphical toolsxe2x80x94or, alternatively, requiring the designer to create test stimuli and expected responses using HDL techniquesxe2x80x94slows the entire design process. Also, the graphical techniques rely entirely on human intuition to create test stimuli and expected responses.
The present invention offers a solution to this dilemma. The invention is a test bench creation tool (FIG. 1) that is to be integrated into typical EDA design tool suites, preferably as part of a simulation package. The tool provides a designer with an ability to classify parts of a design using such techniques as special comment lines. Once the parts of a design have been classified in this manner, the tool (or alternatively, the designer) selects pre-existing test bench HDL design templates suitable for the identified circuit classes. These HDL design templates provide much of the boilerplate programming that must exist in any test bench effort. The templates require the tool (or alternatively, the designer) to provide circuit parameters such as bus width, etc. ATPG techniques are available for invocation by the designer to develop tests for combinational logic, and test sequences for sequential logic according to the circuit classifications. The ATPG techniques also create expected responses for use in comparison with actual responses. The tool (or alternatively, the designer) copies the test stimuli and expected responses into the test bench templates to complete the test bench. The completed test benches are applied to the circuits being tested via a simulation tool (FIG. 2).
The ATPG techniques used in manufacturing test are not directly suitable for verification testing and must be modified somewhat to provide useful test bench stimuli. The goal in verification is to demonstrate that the HDL defines a circuit that does what the designer intended it to do, rather than to prove that the HDL does what a fault-free copy of the circuit doesxe2x80x94the latter process sometimes called validation.
The test bench should operate in two modes, (1) a functional verification mode in which a few simple tests are applied to give the designer some assurances that the overall structure operates as intended, without too much attention to detail. A second mode (2) applies detailed tests and expected results to prove that there are no hidden surprises in the design.
Waveforms are useful during the functional verification mode because they rapidly give a designer confidence that the circuit is working properlyxe2x80x94it is important to remember that the goal here is to bring a very large design up to speed as rapidly as possible.
During the detailed mode of operation, waveform inspection is used only when a designer wants to zero in on a specific area, or when comparison with expected results fails.
There is a fundamental problem here that the present invention does not address: the expected results are derived from an analysis of the HDL, so if there is some subtle error in the HDL it won""t be caught by test benches produced in this way. That shortcoming notwithstanding, the present invention is an improvement over much of what is being offered today.